home *** CD-ROM | disk | FTP | other *** search
/ Aminet 52 / Aminet 52 (2002)(GTI - Schatztruhe)[!][Dec 2002].iso / Aminet / util / moni / Scout-src.lha / netinclude / inline / usergroup.h < prev   
C/C++ Source or Header  |  2002-09-16  |  13KB  |  525 lines

  1. #ifndef _INLINE_USERGROUP_H
  2. #define _INLINE_USERGROUP_H \
  3.     "$Id: usergroup.h,v 1.1.1.1 2001/11/26 22:21:16 tboeckel Exp $"
  4.  
  5. #ifndef _CDEFS_H_
  6. #include <sys/cdefs.h>
  7. #endif
  8. #ifndef _INLINE_STUBS_H_
  9. #include <inline/stubs.h>
  10. #endif
  11.  
  12. __BEGIN_DECLS
  13.  
  14. #ifndef BASE_EXT_DECL
  15. #define BASE_EXT_DECL
  16. #define BASE_EXT_DECL0 extern struct Library * UserGroupBase;
  17. #endif
  18. #ifndef BASE_PAR_DECL
  19. #define BASE_PAR_DECL
  20. #define BASE_PAR_DECL0 void
  21. #endif
  22. #ifndef BASE_NAME
  23. #define BASE_NAME UserGroupBase
  24. #endif
  25.  
  26. BASE_EXT_DECL0
  27.  
  28. extern __inline char *
  29. crypt (BASE_PAR_DECL const char * key, const char * salt)
  30. {
  31.     BASE_EXT_DECL
  32.     register char * res __asm("d0");
  33.     register struct Library *a6 __asm("a6") = BASE_NAME;
  34.     register const char * a0 __asm("a0") = key;
  35.     register const char * a1 __asm("a1") = salt;
  36.     __asm __volatile ("jsr a6@(-0xae)"
  37.     : "=r" (res)
  38.     : "r" (a6), "r" (a0), "r" (a1)
  39.     : "d0", "d1", "a0", "a1");
  40.     return res;
  41. }
  42. extern __inline void
  43. endgrent (BASE_PAR_DECL0)
  44. {
  45.     BASE_EXT_DECL
  46.     register struct Library *a6 __asm("a6") = BASE_NAME;
  47.     __asm __volatile ("jsr a6@(-0xa8)"
  48.     : /* No Output */
  49.     : "r" (a6)
  50.     : "d0", "d1", "a0", "a1");
  51. }
  52. extern __inline void
  53. endpwent (BASE_PAR_DECL0)
  54. {
  55.     BASE_EXT_DECL
  56.     register struct Library *a6 __asm("a6") = BASE_NAME;
  57.     __asm __volatile ("jsr a6@(-0x8a)"
  58.     : /* No Output */
  59.     : "r" (a6)
  60.     : "d0", "d1", "a0", "a1");
  61. }
  62. extern __inline void
  63. endutent (BASE_PAR_DECL0)
  64. {
  65.     BASE_EXT_DECL
  66.     register struct Library *a6 __asm("a6") = BASE_NAME;
  67.     __asm __volatile ("jsr a6@(-0xf0)"
  68.     : /* No Output */
  69.     : "r" (a6)
  70.     : "d0", "d1", "a0", "a1");
  71. }
  72. extern __inline struct UserGroupCredentials *
  73. getcredentials (BASE_PAR_DECL struct Task * task)
  74. {
  75.     BASE_EXT_DECL
  76.     register struct UserGroupCredentials * res __asm("d0");
  77.     register struct Library *a6 __asm("a6") = BASE_NAME;
  78.     register struct Task * a0 __asm("a0") = task;
  79.     __asm __volatile ("jsr a6@(-0x102)"
  80.     : "=r" (res)
  81.     : "r" (a6), "r" (a0)
  82.     : "d0", "d1", "a0", "a1");
  83.     return res;
  84. }
  85. extern __inline gid_t
  86. getegid (BASE_PAR_DECL0)
  87. {
  88.     BASE_EXT_DECL
  89.     register res __asm("d0");
  90.     register struct Library *a6 __asm("a6") = BASE_NAME;
  91.     __asm __volatile ("jsr a6@(-0x4e)"
  92.     : "=r" (res)
  93.     : "r" (a6)
  94.     : "d0", "d1", "a0", "a1");
  95.     return res;
  96. }
  97. extern __inline uid_t
  98. geteuid (BASE_PAR_DECL0)
  99. {
  100.     BASE_EXT_DECL
  101.     register res __asm("d0");
  102.     register struct Library *a6 __asm("a6") = BASE_NAME;
  103.     __asm __volatile ("jsr a6@(-0x36)"
  104.     : "=r" (res)
  105.     : "r" (a6)
  106.     : "d0", "d1", "a0", "a1");
  107.     return res;
  108. }
  109. extern __inline gid_t
  110. getgid (BASE_PAR_DECL0)
  111. {
  112.     BASE_EXT_DECL
  113.     register res __asm("d0");
  114.     register struct Library *a6 __asm("a6") = BASE_NAME;
  115.     __asm __volatile ("jsr a6@(-0x48)"
  116.     : "=r" (res)
  117.     : "r" (a6)
  118.     : "d0", "d1", "a0", "a1");
  119.     return res;
  120. }
  121. extern __inline struct group *
  122. getgrent (BASE_PAR_DECL0)
  123. {
  124.     BASE_EXT_DECL
  125.     register struct group * res __asm("d0");
  126.     register struct Library *a6 __asm("a6") = BASE_NAME;
  127.     __asm __volatile ("jsr a6@(-0xa2)"
  128.     : "=r" (res)
  129.     : "r" (a6)
  130.     : "d0", "d1", "a0", "a1");
  131.     return res;
  132. }
  133. extern __inline struct group *
  134. getgrgid (BASE_PAR_DECL gid_t gid)
  135. {
  136.     BASE_EXT_DECL
  137.     register struct group * res __asm("d0");
  138.     register struct Library *a6 __asm("a6") = BASE_NAME;
  139.     register gid_t d0 __asm("d0") = gid;
  140.     __asm __volatile ("jsr a6@(-0x96)"
  141.     : "=r" (res)
  142.     : "r" (a6), "r" (d0)
  143.     : "d0", "d1", "a0", "a1");
  144.     return res;
  145. }
  146. extern __inline struct group *
  147. getgrnam (BASE_PAR_DECL const char * name)
  148. {
  149.     BASE_EXT_DECL
  150.     register struct group * res __asm("d0");
  151.     register struct Library *a6 __asm("a6") = BASE_NAME;
  152.     register const char * a1 __asm("a1") = name;
  153.     __asm __volatile ("jsr a6@(-0x90)"
  154.     : "=r" (res)
  155.     : "r" (a6), "r" (a1)
  156.     : "d0", "d1", "a0", "a1");
  157.     return res;
  158. }
  159. extern __inline int
  160. getgroups (BASE_PAR_DECL int ngroups, gid_t * groups)
  161. {
  162.     BASE_EXT_DECL
  163.     register res __asm("d0");
  164.     register struct Library *a6 __asm("a6") = BASE_NAME;
  165.     register int d0 __asm("d0") = ngroups;
  166.     register gid_t * a1 __asm("a1") = groups;
  167.     __asm __volatile ("jsr a6@(-0x60)"
  168.     : "=r" (res)
  169.     : "r" (a6), "r" (d0), "r" (a1)
  170.     : "d0", "d1", "a0", "a1");
  171.     return res;
  172. }
  173. extern __inline struct lastlog *
  174. getlastlog (BASE_PAR_DECL uid_t uid)
  175. {
  176.     BASE_EXT_DECL
  177.     register struct lastlog * res __asm("d0");
  178.     register struct Library *a6 __asm("a6") = BASE_NAME;
  179.     register uid_t d0 __asm("d0") = uid;
  180.     __asm __volatile ("jsr a6@(-0xf6)"
  181.     : "=r" (res)
  182.     : "r" (a6), "r" (d0)
  183.     : "d0", "d1", "a0", "a1");
  184.     return res;
  185. }
  186. extern __inline char *
  187. getlogin (BASE_PAR_DECL0)
  188. {
  189.     BASE_EXT_DECL
  190.     register char * res __asm("d0");
  191.     register struct Library *a6 __asm("a6") = BASE_NAME;
  192.     __asm __volatile ("jsr a6@(-0xd8)"
  193.     : "=r" (res)
  194.     : "r" (a6)
  195.     : "d0", "d1", "a0", "a1");
  196.     return res;
  197. }
  198. extern __inline char *
  199. getpass (BASE_PAR_DECL const char * prompt)
  200. {
  201.     BASE_EXT_DECL
  202.     register char * res __asm("d0");
  203.     register struct Library *a6 __asm("a6") = BASE_NAME;
  204.     register const char * a1 __asm("a1") = prompt;
  205.     __asm __volatile ("jsr a6@(-0xba)"
  206.     : "=r" (res)
  207.     : "r" (a6), "r" (a1)
  208.     : "d0", "d1", "a0", "a1");
  209.     return res;
  210. }
  211. extern __inline pid_t
  212. getpgrp (BASE_PAR_DECL0)
  213. {
  214.     BASE_EXT_DECL
  215.     register pid_t res __asm("d0");
  216.     register struct Library *a6 __asm("a6") = BASE_NAME;
  217.     __asm __volatile ("jsr a6@(-0xd2)"
  218.     : "=r" (res)
  219.     : "r" (a6)
  220.     : "d0", "d1", "a0", "a1");
  221.     return res;
  222. }
  223. extern __inline struct passwd *
  224. getpwent (BASE_PAR_DECL0)
  225. {
  226.     BASE_EXT_DECL
  227.     register struct passwd * res __asm("d0");
  228.     register struct Library *a6 __asm("a6") = BASE_NAME;
  229.     __asm __volatile ("jsr a6@(-0x84)"
  230.     : "=r" (res)
  231.     : "r" (a6)
  232.     : "d0", "d1", "a0", "a1");
  233.     return res;
  234. }
  235. extern __inline struct passwd *
  236. getpwnam (BASE_PAR_DECL const char * name)
  237. {
  238.     BASE_EXT_DECL
  239.     register struct passwd * res __asm("d0");
  240.     register struct Library *a6 __asm("a6") = BASE_NAME;
  241.     register const char * a1 __asm("a1") = name;
  242.     __asm __volatile ("jsr a6@(-0x72)"
  243.     : "=r" (res)
  244.     : "r" (a6), "r" (a1)
  245.     : "d0", "d1", "a0", "a1");
  246.     return res;
  247. }
  248. extern __inline struct passwd *
  249. getpwuid (BASE_PAR_DECL uid_t uid)
  250. {
  251.     BASE_EXT_DECL
  252.     register struct passwd * res __asm("d0");
  253.     register struct Library *a6 __asm("a6") = BASE_NAME;
  254.     register uid_t d0 __asm("d0") = uid;
  255.     __asm __volatile ("jsr a6@(-0x78)"
  256.     : "=r" (res)
  257.     : "r" (a6), "r" (d0)
  258.     : "d0", "d1", "a0", "a1");
  259.     return res;
  260. }
  261. extern __inline uid_t
  262. getuid (BASE_PAR_DECL0)
  263. {
  264.     BASE_EXT_DECL
  265.     register uid_t res __asm("d0");
  266.     register struct Library *a6 __asm("a6") = BASE_NAME;
  267.     __asm __volatile ("jsr a6@(-0x30)"
  268.     : "=r" (res)
  269.     : "r" (a6)
  270.     : "d0", "d1", "a0", "a1");
  271.     return res;
  272. }
  273. extern __inline mode_t
  274. getumask (BASE_PAR_DECL0)
  275. {
  276.     BASE_EXT_DECL
  277.     register res __asm("d0");
  278.     register struct Library *a6 __asm("a6") = BASE_NAME;
  279.     __asm __volatile ("jsr a6@(-0xc6)"
  280.     : "=r" (res)
  281.     : "r" (a6)
  282.     : "d0", "d1", "a0", "a1");
  283.     return res;
  284. }
  285. extern __inline struct utmp *
  286. getutent (BASE_PAR_DECL0)
  287. {
  288.     BASE_EXT_DECL
  289.     register struct utmp * res __asm("d0");
  290.     register struct Library *a6 __asm("a6") = BASE_NAME;
  291.     __asm __volatile ("jsr a6@(-0xea)"
  292.     : "=r" (res)
  293.     : "r" (a6)
  294.     : "d0", "d1", "a0", "a1");
  295.     return res;
  296. }
  297. extern __inline int
  298. initgroups (BASE_PAR_DECL const char * name, gid_t basegroup)
  299. {
  300.     BASE_EXT_DECL
  301.     register res __asm("d0");
  302.     register struct Library *a6 __asm("a6") = BASE_NAME;
  303.     register const char * a1 __asm("a1") = name;
  304.     register gid_t d0 __asm("d0") = basegroup;
  305.     __asm __volatile ("jsr a6@(-0x6c)"
  306.     : "=r" (res)
  307.     : "r" (a6), "r" (a1), "r" (d0)
  308.     : "d0", "d1", "a0", "a1");
  309.     return res;
  310. }
  311. extern __inline int
  312. setgid (BASE_PAR_DECL gid_t id)
  313. {
  314.     BASE_EXT_DECL
  315.     register res __asm("d0");
  316.     register struct Library *a6 __asm("a6") = BASE_NAME;
  317.     register gid_t d0 __asm("d0") = id;
  318.     __asm __volatile ("jsr a6@(-0x5a)"
  319.     : "=r" (res)
  320.     : "r" (a6), "r" (d0)
  321.     : "d0", "d1", "a0", "a1");
  322.     return res;
  323. }
  324. extern __inline void
  325. setgrent (BASE_PAR_DECL0)
  326. {
  327.     BASE_EXT_DECL
  328.     register struct Library *a6 __asm("a6") = BASE_NAME;
  329.     __asm __volatile ("jsr a6@(-0x9c)"
  330.     : /* No Output */
  331.     : "r" (a6)
  332.     : "d0", "d1", "a0", "a1");
  333. }
  334. extern __inline int
  335. setgroups (BASE_PAR_DECL int ngroups, const gid_t * groups)
  336. {
  337.     BASE_EXT_DECL
  338.     register res __asm("d0");
  339.     register struct Library *a6 __asm("a6") = BASE_NAME;
  340.     register int d0 __asm("d0") = ngroups;
  341.     register const gid_t * a1 __asm("a1") = groups;
  342.     __asm __volatile ("jsr a6@(-0x66)"
  343.     : "=r" (res)
  344.     : "r" (a6), "r" (d0), "r" (a1)
  345.     : "d0", "d1", "a0", "a1");
  346.     return res;
  347. }
  348. extern __inline int
  349. setlastlog (BASE_PAR_DECL uid_t uid, char * name, char * host)
  350. {
  351.     BASE_EXT_DECL
  352.     register res __asm("d0");
  353.     register struct Library *a6 __asm("a6") = BASE_NAME;
  354.     register uid_t d0 __asm("d0") = uid;
  355.     register char * a0 __asm("a0") = name;
  356.     register char * a1 __asm("a1") = host;
  357.     __asm __volatile ("jsr a6@(-0xfc)"
  358.     : "=r" (res)
  359.     : "r" (a6), "r" (d0), "r" (a0), "r" (a1)
  360.     : "d0", "d1", "a0", "a1");
  361.     return res;
  362. }
  363. extern __inline int
  364. setlogin (BASE_PAR_DECL const char * buffer)
  365. {
  366.     BASE_EXT_DECL
  367.     register res __asm("d0");
  368.     register struct Library *a6 __asm("a6") = BASE_NAME;
  369.     register const char * a1 __asm("a1") = buffer;
  370.     __asm __volatile ("jsr a6@(-0xde)"
  371.     : "=r" (res)
  372.     : "r" (a6), "r" (a1)
  373.     : "d0", "d1", "a0", "a1");
  374.     return res;
  375. }
  376. extern __inline void
  377. setpwent (BASE_PAR_DECL0)
  378. {
  379.     BASE_EXT_DECL
  380.     register struct Library *a6 __asm("a6") = BASE_NAME;
  381.     __asm __volatile ("jsr a6@(-0x7e)"
  382.     : /* No Output */
  383.     : "r" (a6)
  384.     : "d0", "d1", "a0", "a1");
  385. }
  386. extern __inline int
  387. setregid (BASE_PAR_DECL gid_t real, gid_t eff)
  388. {
  389.     BASE_EXT_DECL
  390.     register res __asm("d0");
  391.     register struct Library *a6 __asm("a6") = BASE_NAME;
  392.     register gid_t d0 __asm("d0") = real;
  393.     register gid_t d1 __asm("d1") = eff;
  394.     __asm __volatile ("jsr a6@(-0x54)"
  395.     : "=r" (res)
  396.     : "r" (a6), "r" (d0), "r" (d1)
  397.     : "d0", "d1", "a0", "a1");
  398.     return res;
  399. }
  400. extern __inline int
  401. setreuid (BASE_PAR_DECL uid_t real, uid_t eff)
  402. {
  403.     BASE_EXT_DECL
  404.     register res __asm("d0");
  405.     register struct Library *a6 __asm("a6") = BASE_NAME;
  406.     register uid_t d0 __asm("d0") = real;
  407.     register uid_t d1 __asm("d1") = eff;
  408.     __asm __volatile ("jsr a6@(-0x3c)"
  409.     : "=r" (res)
  410.     : "r" (a6), "r" (d0), "r" (d1)
  411.     : "d0", "d1", "a0", "a1");
  412.     return res;
  413. }
  414. extern __inline pid_t
  415. setsid (BASE_PAR_DECL0)
  416. {
  417.     BASE_EXT_DECL
  418.     register pid_t res __asm("d0");
  419.     register struct Library *a6 __asm("a6") = BASE_NAME;
  420.     __asm __volatile ("jsr a6@(-0xcc)"
  421.     : "=r" (res)
  422.     : "r" (a6)
  423.     : "d0", "d1", "a0", "a1");
  424.     return res;
  425. }
  426. extern __inline int
  427. setuid (BASE_PAR_DECL uid_t id)
  428. {
  429.     BASE_EXT_DECL
  430.     register res __asm("d0");
  431.     register struct Library *a6 __asm("a6") = BASE_NAME;
  432.     register uid_t d0 __asm("d0") = id;
  433.     __asm __volatile ("jsr a6@(-0x42)"
  434.     : "=r" (res)
  435.     : "r" (a6), "r" (d0)
  436.     : "d0", "d1", "a0", "a1");
  437.     return res;
  438. }
  439. extern __inline void
  440. setutent (BASE_PAR_DECL0)
  441. {
  442.     BASE_EXT_DECL
  443.     register struct Library *a6 __asm("a6") = BASE_NAME;
  444.     __asm __volatile ("jsr a6@(-0xe4)"
  445.     : /* No Output */
  446.     : "r" (a6)
  447.     : "d0", "d1", "a0", "a1");
  448. }
  449. extern __inline int
  450. ug_GetErr (BASE_PAR_DECL0)
  451. {
  452.     BASE_EXT_DECL
  453.     register res __asm("d0");
  454.     register struct Library *a6 __asm("a6") = BASE_NAME;
  455.     __asm __volatile ("jsr a6@(-0x24)"
  456.     : "=r" (res)
  457.     : "r" (a6)
  458.     : "d0", "d1", "a0", "a1");
  459.     return res;
  460. }
  461. extern __inline char *
  462. ug_GetSalt (BASE_PAR_DECL const struct passwd * user, char * buffer, ULONG size)
  463. {
  464.     BASE_EXT_DECL
  465.     register char * res __asm("d0");
  466.     register struct Library *a6 __asm("a6") = BASE_NAME;
  467.     register const struct passwd * a0 __asm("a0") = user;
  468.     register char * a1 __asm("a1") = buffer;
  469.     register ULONG d0 __asm("d0") = size;
  470.     __asm __volatile ("jsr a6@(-0xb4)"
  471.     : "=r" (res)
  472.     : "r" (a6), "r" (a0), "r" (a1), "r" (d0)
  473.     : "d0", "d1", "a0", "a1");
  474.     return res;
  475. }
  476. extern __inline int
  477. ug_SetupContextTagList (BASE_PAR_DECL const UBYTE* pname, struct TagItem * taglist)
  478. {
  479.     BASE_EXT_DECL
  480.     register res __asm("d0");
  481.     register struct Library *a6 __asm("a6") = BASE_NAME;
  482.     register const UBYTE* a0 __asm("a0") = pname;
  483.     register struct TagItem * a1 __asm("a1") = taglist;
  484.     __asm __volatile ("jsr a6@(-0x1e)"
  485.     : "=r" (res)
  486.     : "r" (a6), "r" (a0), "r" (a1)
  487.     : "d0", "d1", "a0", "a1");
  488.     return res;
  489. }
  490. extern __inline const char *
  491. ug_StrError (BASE_PAR_DECL LONG code)
  492. {
  493.     BASE_EXT_DECL
  494.     register char * res __asm("d0");
  495.     register struct Library *a6 __asm("a6") = BASE_NAME;
  496.     register LONG d1 __asm("d1") = code;
  497.     __asm __volatile ("jsr a6@(-0x2a)"
  498.     : "=r" (res)
  499.     : "r" (a6), "r" (d1)
  500.     : "d0", "d1", "a0", "a1");
  501.     return res;
  502. }
  503. extern __inline mode_t
  504. umask (BASE_PAR_DECL mode_t mask)
  505. {
  506.     BASE_EXT_DECL
  507.     register res __asm("d0");
  508.     register struct Library *a6 __asm("a6") = BASE_NAME;
  509.     register mode_t d0 __asm("d0") = mask;
  510.     __asm __volatile ("jsr a6@(-0xc0)"
  511.     : "=r" (res)
  512.     : "r" (a6), "r" (d0)
  513.     : "d0", "d1", "a0", "a1");
  514.     return res;
  515. }
  516. #undef BASE_EXT_DECL
  517. #undef BASE_EXT_DECL0
  518. #undef BASE_PAR_DECL
  519. #undef BASE_PAR_DECL0
  520. #undef BASE_NAME
  521.  
  522. __END_DECLS
  523.  
  524. #endif /* _INLINE_USERGROUP_H */
  525.